import request from '@/utils/request'

// 获取产品列表
export function getProductList(params) {
  return request({
    url: '/api/products',
    method: 'get',
    params
  })
}

// 获取产品详情
export function getProductById(productId) {
  return request({
    url: `/api/products/${productId}`,
    method: 'get'
  })
}

// 创建产品
export function createProduct(data) {
  return request({
    url: '/api/products',
    method: 'post',
    data
  })
}

// 更新产品
export function updateProduct(productId, data) {
  return request({
    url: `/api/products/${productId}`,
    method: 'put',
    data
  })
}

// 删除产品
export function deleteProduct(productId) {
  return request({
    url: `/api/products/${productId}`,
    method: 'delete'
  })
}

// 启用/禁用产品
export function toggleProductStatus(productId, status) {
  return request({
    url: `/api/products/${productId}/status`,
    method: 'put',
    data: {
      status
    }
  })
}

// 获取产品版本列表
export function getProductVersions(productId, params) {
  return request({
    url: `/api/products/${productId}/versions`,
    method: 'get',
    params
  })
}

// 获取产品版本详情
export function getProductVersionById(productId, versionId) {
  return request({
    url: `/api/products/${productId}/versions/${versionId}`,
    method: 'get'
  })
}

// 创建产品版本
export function createProductVersion(productId, data) {
  return request({
    url: `/api/products/${productId}/versions`,
    method: 'post',
    data
  })
}

// 更新产品版本
export function updateProductVersion(productId, versionId, data) {
  return request({
    url: `/api/products/${productId}/versions/${versionId}`,
    method: 'put',
    data
  })
}

// 删除产品版本
export function deleteProductVersion(productId, versionId) {
  return request({
    url: `/api/products/${productId}/versions/${versionId}`,
    method: 'delete'
  })
}

// 获取产品成员列表
export function getProductMembers(productId, params) {
  return request({
    url: `/api/products/${productId}/members`,
    method: 'get',
    params
  })
}

// 添加产品成员
export function addProductMember(productId, data) {
  return request({
    url: `/api/products/${productId}/members`,
    method: 'post',
    data
  })
}

// 移除产品成员
export function removeProductMember(productId, memberId) {
  return request({
    url: `/api/products/${productId}/members/${memberId}`,
    method: 'delete'
  })
}

// 更新产品成员角色
export function updateProductMemberRole(productId, memberId, data) {
  return request({
    url: `/api/products/${productId}/members/${memberId}/role`,
    method: 'put',
    data
  })
}

// 获取产品统计数据
export function getProductStatistics(productId) {
  return request({
    url: `/api/products/${productId}/statistics`,
    method: 'get'
  })
}